/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ws;

import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 *
 * @author André
 */

@Entity
@Table(name = "tcondicao_compra_parcela", schema = "compras")
public class CondicaoCompraParcela implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "tcodigo_fpk")
    private Integer tcodigoFpk;
    @Id
    @Column(name = "tparcela_pk", nullable = false)
    private Integer tparcelaPk;
    @Column(name = "tnum_dias_vencimento", nullable = false)
    private Integer tnumDiasVencimento;
    @Column(name = "tpercentual_parcela", nullable = false, precision = 5, scale = 2)
    private BigDecimal tpercentualParcela;
    @Column(name = "tvencimento_fixo_chk", nullable = false, length = 1)
    private String tvencimentoFixoChk;
    @Column(name = "tdia_vencimento1")
    private Integer tdiaVencimento1;
    @Column(name = "tdia_vencimento2")
    private Integer tdiaVencimento2;
    @JoinColumn(name = "tcodigo_fpk", referencedColumnName = "tcodigo_pk", nullable = false, insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private CondicaoCompra condicaoCompra;
//    @Version
//    private Long version;

    public CondicaoCompraParcela() {
        //Por não conseguir tratar NULL no BPEL, todos os campos que puderem ser NULL devem ser preenchidos com -1 se forem Númericos e com "" se forem Strings
        this.tcodigoFpk = -1;
        this.tparcelaPk = -1;
        this.tdiaVencimento1 = -1;
        this.tdiaVencimento2 = -1;
        this.tnumDiasVencimento = -1;
        this.tvencimentoFixoChk = "";
        this.tpercentualParcela = new BigDecimal(-1);
    }

    public CondicaoCompra getCondicaoCompra() {
        return condicaoCompra;
    }

    public void setCondicaoCompra(CondicaoCompra condicaoCompra) {
        this.condicaoCompra = condicaoCompra;
    }

    public Integer getTcodigo_fpk() {
        return tcodigoFpk;
    }

    public void setTcodigo_fpk(Integer tcodigo_fpk) {
        this.tcodigoFpk = tcodigo_fpk;
    }

    public Integer getTdia_vencimento1() {
        return tdiaVencimento1;
    }

    public void setTdia_vencimento1(Integer tdia_vencimento1) {
        this.tdiaVencimento1 = tdia_vencimento1;
    }

    public Integer getTdia_vencimento2() {
        return tdiaVencimento2;
    }

    public void setTdia_vencimento2(Integer tdia_vencimento2) {
        this.tdiaVencimento2 = tdia_vencimento2;
    }

    public Integer getTnum_dias_vencimento() {
        return tnumDiasVencimento;
    }

    public void setTnum_dias_vencimento(Integer tnum_dias_vencimento) {
        this.tnumDiasVencimento = tnum_dias_vencimento;
    }

    public Integer getTparcela_pk() {
        return tparcelaPk;
    }

    public void setTparcela_pk(Integer tparcela_pk) {
        this.tparcelaPk = tparcela_pk;
    }

    public BigDecimal getTpercentual_parcela() {
        return tpercentualParcela;
    }

    public void setTpercentual_parcela(BigDecimal tpercentual_parcela) {
        this.tpercentualParcela = tpercentual_parcela;
    }

    public String getTvencimento_fixo_chk() {
        return tvencimentoFixoChk;
    }

    public void setTvencimento_fixo_chk(String tvencimento_fixo_chk) {
        this.tvencimentoFixoChk = tvencimento_fixo_chk;
    }

//    public Long getVersion() {
//        return version;
//    }
//
//    public void setVersion(Long version) {
//        this.version = version;
//    }

    @Override
    public String toString() {
        return "bean.TcondicaoCompraParcelaPK[tcodigoFpk=" + tcodigoFpk + ", tparcelaPk=" + tparcelaPk + "]";
    }
}
